import { request } from '../../request'

/**
 * 获取访问令牌
 * @param data - 登录模型
 */
export function fetchAcctssToken(data: ApiModels.base.LoginModel) {
  return request.post<ApiModels.base.TokenModel>('/base/user/login', data)
}

/**
 * 使用手机号快速登录(不存在的用户则注册)
 * @param phoneNumber - 手机号码
 * @param userId - 自定义用户id
 */
export function easyLogin(phoneNumber: string, userId = '') {
  return request.post<ApiModels.base.TokenModel>(`/base/user/EasyLogin?phoneNumber=${phoneNumber}&userId=${userId}`)
}

/**
 * 注销
 */
export function featchLogout() {
  return request.post<any>('/base/user/Logout')
}

/**
 * 获取当前登录用户详情
 */
export function fetchProfileInfo() {
  return request.get<ApiModels.base.ApplicationUserInfo>('/base/user/GetProfileInfo')
}

/**
 * 根据token获取用户详情
 * @param token - 访问令牌
 */
export function fetchProfileInfoByToken(token: string) {
  return request.get<ApiModels.base.ApplicationUserInfo>(`/base/user/GetProfileInfoByToken?token=${token}`)
}

/**
 * 刷新token
 * @param refreshToken
 */
export function fetchRefreshToken(refreshToken: string) {
  return request.post<ApiModels.base.TokenModel>('/base/user/updateToken', { refreshToken })
}
